websocket接口
Node/Python/Html 实例下载
数据请求使用 json, 编码使用 utf8. 接口地址:wss://wsapi.17ce.com:8001/socket
权限认证
请求参数
参数 | 类型 | 描述 | 默认值 |
---|---|---|---|
user | string | 17ce 用户名 | 必填 |
code | string | 接口认证Key, 在管理平台通过 api_pwd 生成 | 必填 |
ut | string | 当前时间戳 | 必填 |
code的生成加密方式 (javascript):
let user = 'yiqice@qq.com';
let api_pwd = '********';
let ut = Date.parse(new Date()).toString().substring(0,10);
let code = $.md5($.base64.encode($.md5(api_pwd).substring(4,23) + $.trim(user) + ut));
code的生成加密方式 (php):
$user = 'yiqice@qq.com';
$api_pwd = '********';
$ut = time();
$code = md5(base64_encode(substr(md5($api_pwd),4,19).trim($user).$ut));
code的生成加密方式 (python):
user = 'yiqice@qq.com'
api_pwd = '********'
ut = str(int(time.time()))
code = md5(base64_str((md5(api_pwd)[4:23]+user+ut)));
对密码api_pwd进行md5加密后第4位起截取19位字符,拼接用户名user和时间戳ut进行base64和md5加密。
请求响应
参数 | 类型 | 描述 |
---|---|---|
result | json | 认证结果(成功: rt = 1,msg=’login ok', 失败:-1) |
实时测速
请求参数
参数 | 类型 | 描述 | 默认值 |
---|---|---|---|
txnid | int | 唯一标识,用于跟踪一个完整的请求,处理及响应事件。<自增> | 必填 |
nodetype | string | 客户端类型 1.IDC 2.路由器 3.桌面客户端 4.手机wifi 5.手机4g | 必填 |
num | int | 每个区域下分配节点数 | 必填 |
Url | string | 测试url地址/IP | 必填 |
Host | string | HTTP HOST (dns/dig 测试必填,其他测试类型选填) | |
TestType | string | 测速类型 HTTP/PING/DNS/DIG/CDN/TraceRT/Page | 必填 |
TimeOut | int | 测试超时时间(s) ping/tracert为单次测试时间,默认值{dns:15, dig+trace:45, ping:1, 其他: 30}。 最小值:1, 最大值{dns:15, ping:10, 其他: 120} 任务超时时间为 TimeOut * Count * 2(http:1, ping:PingCount, tracert: TraceRTCount, CDN: 10) + 15 |
必填 |
Request | string | 请求方式 GET/POST/HEAD/PURGE | 必填 |
postfield | string | post参数 在Request=POST请求时必填项 | |
SrcIP | string | 请求ip 在TestType=PING请求时必填项 测试域名填写host 测试IP填写IP | |
NoCache | bool | 是否缓存 true 不缓存 false 缓存 | 必填 |
type | int | Target类型 1 单个地址 | 必填 |
isps | string | ISP 1.电信 2.联通 3.国外 6.铁通 7.移动 8.教育网 4其他 | 必填 |
areas | string | 测速区域 1.大陆 2.港澳台 3.国外 | 必填 |
pro_ids | string | 省份 <见附录> | 必填 |
city_ids | string | 城市 <见附录> | |
Nodes | array | 指定某些测速点进行测试 如Nodes: [3725705, 163250] | |
Speed | int | 下载速度 单位:byte/s | |
Cookie | string | cookie | |
Trace | bool | DIG类型 | |
Referer | string | Referer | |
UserAgent | string | user-agent | |
FollowLocation | int | 重定向跟随跳转几次 | 2 |
GetMD5 | bool | 是否获取md5值 | true |
MaxDown | int | 最大下载速度 | |
Proxies | string | page类型 | |
SnapShot | bool | page截屏 | |
PingCount | int | 发包数 在ping测试时必填项, 最大100 | |
PingSize | int | 发包大小 在ping测试时必填项,最大1000(B) |
请求响应
参数 | 类型 | 描述 |
---|---|---|
rt | int | rt=1 正常返回,其他返回错误码 |
error | string | 错误信息 |
txnid | int | 请求唯一标识 |
type | string | 返回类型 TaskAccept 创建测速任务 NewData 获取测速结果 TaskEnd 测试结束 TaskErr 测试出错 |
data | json | 返回数据如下 |
http数据返回:
{
"TaskId": string, // 任务 ID
"HttpCode": int, // HTTP 返回码
"TotalTime": double, //总时间
"FileSize": double, // 文件大小
"RealSize": double, // 下载大小
"TTFBTime": double, // 首字节时间
"DownTime": double, // 下载时间
"ConnectTime": double, // 连接时间
"NsLookup": double, // 解析时间
"HttpHead": string, // HTTP 头信息(base64)
"HttpBodyMd5": string, // HttpBodyMd5
"NodeID": int, // 节点 ID
"SrcIP": string, // 解析IP
"NodeInfo": json, //节点信息
"srcip": json, //解析详情
}
ping数据返回:
{
"TaskId": string, // 任务 ID
"PingSize": int, // 发包大小 在 ping 测试时必填项,最大 1000(B)
"PacketsSent": int, // 发送
"PacketsRecv": int, // 接收
"Avg": double, // 平均时间(μs)
"Max": double, // 最大时间(μs)
"Min": double, // 最小时间(μs)
"PingInfo": string // ping详细信息 (每次发包的time和TTL使用;分隔)
"NodeID": int, // 节点 ID
"SrcIP": string, // 解析IP
"NodeInfo": json, //节点信息
"srcip": json, //解析详情
}
tracert数据返回:
{
"TaskId": string, // 任务 ID
"NodeID": int, // 节点 ID
"SrcIP": string, // 解析IP
"Info": string, // 详细信息
"NodeInfo": json, //节点信息 (每次转发的srcip,PacketsSent,PacketsRecv,PacketsLost,Avg,Max,Min,0使用;分隔)
"srcip": json, //解析详情
}
dns数据返回:
{
"TaskId": string,// 任务 ID
"NodeID": int, // 节点 ID
"SrcIP": string, // 解析IP
"NsLookup": double, // 详细信息
"NodeInfo": json, //节点信息
"srcip": json, //解析详情
}
dig数据返回:
{
"TaskId": string, // 任务 ID
"NodeID": int, // 节点 ID
"DigInfo": string, // 详细信息
"NodeInfo": json, //节点信息
}
dig数据返回:
{
"TaskId": string, // 任务 ID
"NodeID": int, // 节点 ID
"Data": [{
"SrcIP": // 解析 IP
"HttpCode": int, // HTTP 状态码
"TotalTime": double, // 总时间
"FileSize": // 文件大小
"RealSize": // 下载大小
"TTFBTime": // 首字节时间
"DownTime": // 下载时间
"ConnectTime": // 连接时间
"NsLookup": // 解析时间
"HttpHead": string // HTTP 头信息(base64)
"HttpBodyMd5": string // HttpBodyMd5
}],
"NodeInfo": json, //节点信息
}
-- EOF --